package com.mrzhou.mybatis.handler;

import com.baomidou.mybatisplus.extension.plugins.tenant.TenantHandler;
import com.mrzhou.core.tool.constants.ColumnConstant;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.StringValue;

/**
 * 自定义多租户sql解析初始器
 * 暂未测试是否可用
 */
public class CustomTenantHandler implements TenantHandler {
    @Override
    public Expression getTenantId(boolean where) {
        // 当前的租户id, 目标从request中获取, 这里暂时写死
        return new StringValue("000000");
    }

    @Override
    public String getTenantIdColumn() {
        return ColumnConstant.TENANT_ID;
    }

    @Override
    public boolean doTableFilter(String tableName) {
        // 这里是需要排除那些表, 不需要使用tenant_id作为条件查询
        return false;
    }
}
